mod print;
mod debug;
mod display;
mod refops;
mod formatting;



mod structures;
mod enums;
mod constants;
mod var_bindings;
mod types;
mod converting;
mod flow_of_control;
mod functions;
mod generic;
mod scope_rules;
mod traits;
mod error_handling;

mod offer;
mod syntax_str;

mod stdlib;

mod async_await;
mod imm_contains_mutable_object;

fn main() {
    println!("\n1.Hello, Print:");
    print::main();

    println!("\n2.Hello, Debug:");
    debug::main();

    println!("\n3.Hello, Display:");
    display::main();

    println!("\n4.Hello, Ref:");
    refops::main();

    println!("\n5.Hello, Formatting:");
    formatting::main();

    println!("\n6.Hello, Structures:");
    structures::main();

    println!("\n7.Hello, Enums:");
    enums::main();

    println!("\n8.Hello, Constans:");
    constants::main();

    println!("\n9.Hello, Variable Bindings:");
    var_bindings::main();

    println!("\n10.Hello, Types:");
    types::main();

    println!("\n11.Hello, Converting:");
    converting::main();

    println!("\n12.Hello, Flow of Control:");
    flow_of_control::main();

    println!("\n13.Hello, Functions:");
    functions::main();

    println!("\n14.Hello, Generic:");
    generic::main();

    println!("\n15.Hello, Scope Rules:");
    scope_rules::main();

    println!("\n16.Hello, Offer:");
    offer::main();

    println!("\n17.Hello, Traits:");
    traits::main();

    println!("\n18.Hello, Error Handling:");
    error_handling::main();

    println!("\n19.Hello, Syntax for str:");
    syntax_str::main();
    
    
    println!("\n20.Hello, stdlib:");
    stdlib::main();
}

mod oo; //for unittest 
mod match_with_ref_value;
